Preconditions, Postconditions, and Provisional Execution in Software Processes
نویسنده
چکیده
Preconditions and postconditions are widely used in execution models for software processes. The conditions that control software processes, however, can be complex and di cult to evaluate in the context of ongoing development activities. If evaluations and tasks are conducted in parallel, evaluations may be blocked for lack of access to data that are held by tasks. Conversely, task initiations and terminations may be blocked because their controlling conditions cannot be evaluated. Costly delays or even deadlocks may result. Potential con icts between condition evaluations and process tasks can be reduced by a number of strategies, such as limiting the extent of conditions, or serializing evaluations and tasks. However, each of these strategies has its drawbacks (such as failure to capture full process semantics, or reduced process concurrency). This paper introduces a new strategy for condition-based process execution, specifically, provisional execution of process tasks. When it is not possible to completely evaluate all preconditions or postconditions because of con icts with ongoing activities, a manager may allow some tasks to be executed provisionally. That is, a task may be initiated before all its preconditions are satis ed, or terminated before all its postconditions are satis ed. The blocked conditions are not ignored; rather, their evaluation is deferred but still required. These conditions must be satis ed or the task is subject to abort. Provisional execution allows increased exibility in both the execution of process tasks and the evaluation of controlling conditions. It can lead to increased concurrency, reduced concurrency con icts, and generally greater adaptability in process execution. 2
منابع مشابه
Characterising approximate problem-solving by partially fulfilled pre- and postconditions
In Software Engineering, the functionality of a program is traditionally characterised by preand postconditions: if the preconditions are fulfilled then the postconditions are guaranteed to hold, but if the preconditions are not fulfilled, no postconditions are guaranteed at all. In this paper, we study how the functionality of a program is affected when the preconditions are only partially ful...
متن کاملDiscovering Semantic Web services using SPARQL and intelligent agents
This paper describes a novel approach to the description and discovery of Semantic Web services. We propose SPARQL as a formal language to describe the preconditions and postconditions of services, as well as the goals of agents. In addition, we show that SPARQL query evaluation can be used to check the truth of preconditions in a given context, construct the postconditions that will result fro...
متن کاملSupporting Behavioral Contracts for COM Components
Specifying behavioral specifications for components apart from the conventional syntactic interface specifications can be very useful in component based system development. Preconditions and postconditions describe one form of behavioral aspects of components. We discuss a tool and an implementation mechanism to incorporate behavioral contracts expressed in terms of preconditions and postcondit...
متن کاملUse Case Based Requirements Verification - Verifying the Consistency between Use Cases and Assertions
Use cases and operations are complementary requirements artefacts. A use case refers to operations and imposes their sequencing. Use cases templates usually include assertions such as preconditions, postconditions and invariants. Similarly operations are specified using contracts consisting in preconditions and postconditions. In this paper, we present an approach aiming at checking the consist...
متن کاملSymbolic Execution with Separation Logic
We describe a sound method for automatically proving Hoare triples for loop-free code in Separation Logic, for certain preconditions and postconditions (symbolic heaps). The method uses a form of symbolic execution, a decidable proof theory for symbolic heaps, and extraction of frame axioms from incomplete proofs. This is a precursor to the use of the logic in automatic specification checking, ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995